/*该文件用于创建并暴露一个vuex中核心管理者---store*/
//引入核心库
import  Vue from 'vue'
import  vuex from 'vuex'
//应用插件
Vue.use(vuex)

//创建actions
const actions={
    // jia(miniStore,value){
    //     //通过commit指挥mutations中的JIA
    //     miniStore.commit('JIA',value)
    // },
    // jian(miniStore,value){
    //     //通过commit指挥mutation中的JIAN
    //     miniStore.commit('JIAN',value)
    // },
    jiaOdd(miniStore,value){
        if (miniStore.state.sum%2){
           miniStore.commit('JIA',value)
        }
    },
    jiaWait(miniStore,value){
        setTimeout(()=>{
           miniStore.commit('JIA',value)
        },500)
    }
}
//创建mutations改变的意思
const  mutations={
    JIA(state,value){
        console.log('actions中有人commit了JIA 我要进行加了')
        state.sum+=value
    },
    JIAN(state,value){
        console.log('actions中有人commit了JIA 我要进行减了')
        state.sum-=value
    }
}
//创建state
const state={
    sum:90
}
//创建getters用于对state中保存的数据进行计算,从而得到一个新的属性
const getters={
    bigSum(state){
        return state.sum*100
    }
}

//创建一个store
const store=new vuex.Store({
    actions,
    mutations,
    state,
    getters
})
//暴露store
export default store